Protocol Stacks and the 802.11 Wireless LAN Standard
Data communication systems are frequently described in terms of a so called protocol stack, which groups the sequences of tasks required to operate the system into logically related groups known as layers. Conceptually, higher layers have a higher level of abstraction; e.g. the user applications are at the highest layer while the circuits responsible for transmitting the data e.g. over the air or over a copper wire are at the lowest layer.
An example of this is the 802.11 wireless local area network (WLAN) standard, as represented in simplified form in FIG. 1. The 802.11 protocol stack is divided into the so-called MAC (medium access control) layer and the so-called PHY (physical) layer. When a transmitting device is transmitting, the MAC layer of the device takes messages from the layer above, prepends addressing and control information and appends error-checking information, and determines that the wireless medium is free, and passes the expanded message to the PHY layer of the transmitting device. The PHY layer formats the data for transmission, adds PHY-specific information (e.g. a preamble and transmission rate information), modulates the data and transmits it onto the antenna. At a receiving device, the peer PHY layer receives the transmitted data, using the PHY-specific information, and passes the MAC-level message to the MAC layer. Here, the received message is checked for errors, and if the message is addressed to the device in question the data is passed up to the higher layer.
One of the benefits of this logical organization into separate layers is that functions specific to an individual layer can be added or enhanced while retaining compatibility with other layers in the system, and different physical layers can be implemented. For instance, the original 802.11 WLAN standard defines PHY layers operating over radio or infrared links, while the 802.11a enhancement to the 802.11 standard offers a higher rate of data transmission (up to 54 Mbp/s) over a radio link. At the MAC layer, the 802.11e draft standard offers a number of enhancements to the basic 802.11 MAC protocol to support better throughput, and better scheduling data delivery.
FIG. 2a shows the basic structure of an 802.11 MAC data frame as exchanged with the PHY layer. The first 32 bytes of the data frame are the MAC header, which contains control and addressing information, including the total transmitted duration of the frame (which depends on the length and the transmission rate). There then follows a variable-length data field, which contains the actual message. Finally, a 4-byte cyclic redundancy checksum called the frame check sequence (FCS) is calculated on the data frame and appended. This gives the receiver the ability to detect whether an error has occurred in transmission.
Forward Error Correction
The 802.11e draft, at one stage in its development, contained a proposal to implement error control coding at the MAC layer. This error control coding (called forward error correction or FEC) is a standard technique that adds a known amount of redundancy to the data in such a way that a number of transmission errors can be corrected at the receiver. This is very important in quality-of-service applications, since reducing the probability of packet errors reduces the average number of retransmissions required and thereby helps reduce the average delay in transmission.
A key aspect of the proposal was backward compatibility: for protocol reasons, it is important that non FEC-aware stations are able to receive and decode the MAC header. The proposed solution-was the frame format shown in FIG. 2b. Firstly, a frame check sequence is calculated over the header and data, and is appended to the frame. This is called the FEC FCS since it is only used by FEC-aware stations to detect errors after decoding.
A number of 16-byte FEC blocks are added to the frame using Reed-Solomon coding, over the frame including the inner FEC FCS. The first of these blocks occurs after the MAC header: this means that from the point of view of a non FEC-aware station, the FEC information is part of the data frame and is not interpreted.
Finally, the frame is treated as if it was a non-FEC data frame, and an outer FCS is calculated. This allows non FEC-aware stations to determine whether they have received the frame correctly (and therefore can make use of the header information, as that is all that they are concerned with).
Interaction with the 802.11a PHY Layer
The 802.11a high-rate PHY layer offers data rates of up to 54 Mbps operating in the 5 GHz radio band. The 802.11g draft PHY standard uses an essentially identical modulation format in the 2.4 GHz radio band, and so the issues discussed here apply to the majority of new IEEE 802.11 WLAN equipment when trying to benefit from MAC-level FEC.
The 802.11a PHY layer takes the MAC-layer frame, and performs scrambling on the data in order to make the characteristics of the transmitted modulated sequence independent of the message being transmitted. The scrambler circuit specified in the 802.11a standard is shown in FIG. 3, and is made up of a linear feedback shift register whose output is XORed with the incoming data. The sequence generated is uniquely defined by the initial state of the delay elements D1–D7, which is known as the seed value for the scrambler. The standard defines that this seed value should be set to a pseudo-random non-zero state for each message transmitted.
At the receiver, the same seed value must be loaded into the delay elements. The same sequence can then be generated at the receiver and XORed with the incoming data stream, thereby recovering the original data. For this to be possible, a sequence of 7 zero bits is prepended to the message (followed by 9 bits whose use is reserved for future supplements to the standard). The whole prepended 16-bit field is called the service field. Since the original data is known to be zero for the initial 7 bits, it is possible to deduce the initial state of the scrambler from the transmitted sequence.
Clearly, correct function of the design is dependent on successfully receiving these 7 bits so as to be able to initialize the scrambler correctly. If the scrambler is incorrectly initialized, the entire subsequent message will be corrupted since the wrong sequence will be generated. When the original 802.11a standard was formulated, there was no error correction proposed in the MAC layer, so this propagation of errors was unimportant: any error would mean that the message would be discarded. However, when trying to implement MAC-level error correction, this error propagation severely limits the level of error correction that is possible at medium to high signal to noise ratios. Fundamentally, the probability that a frame must be discarded becomes dominated by the probability of having one or more bit errors in the 7-bit scrambler initialization sequence rather than the probability of having an error in the data that cannot be corrected.
These differences are shown graphically in FIG. 4: the unbroken line shows the probability of more than 8 octet errors occurring in a given block of 224 (i.e. the probability of an FEC failure) for a given underlying bit error rate, on the assumption that bit errors are independent of one another. The dashed line shows the probability of one or more errors occurring in the scrambler initialization field (the probability of a scrambler failure). It is clear that at underlying bit error rates higher than approximately 10−2.7, the chance of the FEC failing (more than 8 octet errors in any given 224 octet FEC block) is greater than the chance of an error in the 7 bits of the scrambler error. However, when the underlying bit error rate decreases, the theoretical resulting packet error rate with FEC should rapidly become very small, but this does not happen due to the error propagation problem with the descrambler.
For the 802.11b PHY, data is also scrambled. In this case, a so-called self synchronizing scrambler is used which has the advantage that the corresponding descrambler synchronizes with the transmitting scrambler automatically after a number of correctly received information bits, without the need for the scrambler seed to be transmitted separately. However, on the event of a transmission error this synchronization must occur again, leading to more errors appearing at the output of the scrambler than appeared at the input.
In typical applications where MAC level forward error correction is desired, such as distribution of audio and video data streams, the tolerable bit error rate is generally low. The difference between the theoretical performance from the FEC system and the limit caused by scrambler error propagation, particularly for 802.11a, means that a higher transmit power or a lower range must be accepted to maintain a given level of performance in these cases.
The comments made by the task group responsible for the 802.11e draft standard were basically that error control coding is most properly located in the PHY layer. The reason for this is that it is then possible to perform the error control coding step after scrambling of the data has been performed, and therefore to correct transmission errors (including errors in the transmitted scrambler seed) before descrambling and possible error propagation occurs. Such modifications were outside the scope of the 802.11e task group. Any such modification would also have the additional requirement that non FEC-aware devices (e.g. using a standards-compliant 802.11a or 802.11b PHY layer) must be able to receive at least the MAC header and determine correct transmission via the FCS. However, there are presently no known solutions for error control coding at the PHY layer.
The difficulty with incorporating error control coding at the PHY layer lies in making sure that current (legacy) standard-compliant devices are able to decipher the header portion of the message correctly, and determine whether the frame was correctly received.